# 列表，[]表示，里面存放任意类型、任意数量的元素，而且后期可以增减
# 参考js中的数组、java中的List
a = [1, 3.5, 'abc', True]  # 列表
print(a[0])  # 索引范围，正向索引：0-3
print(a[-4])  # 反向索引：-1 - -4
# print(a[100])  # 超出范围报错
a.append(False)
a.pop(3)  # 删除索引为3的元素
print(a)

# 元组，使用()表示，里面也存放任意类型、任意数量的元素，后期不可以增减
b = (1, 2, 'Hello', False)
print(type(b))

# 集合，{}表示，里面也存放任意类型、任意数量的元素，但是不能重复，顺序不可控
# 相当于Set，不能使用空的{}定义集合，这种写法会被认定是字典
c = {5.2,  3.6, 10.8, "xyz", "abc"}
print(c)
print(type(c))

# 字典，用{}表示，里面存放键值对，键是不能重复
# 有点像JSON和Map
d = { "name": "张三", "age": 18 }
print(d)
print(type(d))